Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
Можно от даммика развеяние нежити за 0.01 сек.
Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
печатать стену текста проще чем нажать принт скрин и прикепить скриншот?
явно же где то накосячили из-за невнимательности.
давайте договоримся, прежде чем создавать тему с нерабочим триггером вы проводите сами дебаг этого триггера, а затем уже если не поняли где ошибка, делаете вопрос
Как выяснилось у Близард формат карт нормалей немного другой. Красный и зелёный канал поменяны местами, причём красный(который зелёный) ещё и инвертирован. Это и не OpenGL и не DirectX. Зачем они так сделали - вопрос открытый.
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.
Можно попробовать достать актуальный TriggerData.txt, дополнить его UMSWE триггерами и скормить редактору включив локальные файлы. Но я не гарантирую работоспособность этого метода.
Также есть небольшой шанс что в рефорже будет способ подсунуть редактору TriggerData.txt без локальных файлов, но сильно на это рассчитывать не стоит.
Razor_dex, сконвертируй карту, потом открой в стандартном 1.26 редакторе, удали комментарий Рок Лии\Otome Renge
Для гуи-гигантов это типичная болячка, просто битый комментарий который содержит в себе информацию о нескольких действиях, считай как обычный триггер только отображается как комментарий
Возникает такое скорее всего при копировании
P.S. странно что редакторы до 1.31 не обращают внимания на такой баг
Возможно проблема в способностях или строках, близзарды че только не сломали и нужно ждать стабильной версии игры где вылечат 99% глюков, багов и завезут максимальную совместимость со старыми картами.
lll_Kirito_lll, тут задают вопросы касательно того что делается в ве
в данном случае это твой проект и в нём ошибка
а так как телепатов тут нету то нужен проект
в общем либо карту либо клоз тему
надоели уже
ведёте сверхсекретные разработки и просите исправить ваши ошибки не трогая ваши карты
как мы это должны сделать?
магией?
или помолится богу чтобы он исправил
или ему тоже нельзя к вашему проекту прикасаться?
ставлю 100$ что ничего круче нубских триггеров там нету
поправка
учитывая предыдущие вопросы и комментарии афтара ставлю 200$
локальный - на машине конкретного юзера, не путать с mui/mpi (муи - действует для каждого юнита, mpi - для каждого игрока)
все баффы будут действовать, хоть их там будет штук 100 (хотя я столько еще не вешал)
тоже самое касается и тригго баффов, которые легко реализовать с помощью запрещенного спеллбука и как сказал quq_CCCP - таймера
даже если бафф не отображается, но его точно вешали на юнита - система его найдет
а если ты пытаешься сделать бафф Palus Knight из Lineage II - поиграйся с отрицательным по урону берсерком (где кстати есть и скорость бега), или со спеллом свитка скорости
хотя легче будет просто обложить юнита блокираторами прохода на время действия, потому что полную остановку сделать без костылей не удастся
quq_CCCP, т.к. не триггерно эффект накладывается то скорее всего проблема не в дровах LainMikoroso, кинь j файл карты (естественно с убранным удалением эффекта)
существует вероятность что в карте где то есть дефайны либо криво компилится
Некоторые вещи сделаны хардкодно, у огненого столба скорее всего тоже дебафф и его параметры не меняются, или меняются только у оригинала.
Близзарды много где так схалтурили, у аватара бафф нельзя настроить, хоть ты лопни, оно прописано в коде брать бафф 'BHav' и точка. У техники в баффе шипы неруба, и их тоже не убрать, только dummy.mdx подсунуть на их место.
Яд стрелы, стакаются (в основном с разным баффом) не снимаются спеллами типа - рассеять чары.
Не деспелятся баффы всех аур, бафф ANdo, а так же бафф Afrz.
Локальные переменные нельзя использовать в GUI'шных "if then else", карта просто не запустится Т.к если GUI'шные "if then else" перевести в jass, то будет функция с действиями триггера, а чуть выше функция с условиями этого же "if then else". А в этом и прикол локальных переменных, их можно использовать только в пределах функции в которой они были вызваны (созданы).
И лучше начни писать на jass, он легкий, хоть и кажется сложным после GUI
К примеру такие задачи на GUI которые буквально голову ломают - на jass делаются достаточно легко и быстро
дабы избежать конфликтов с многократными использованием
это будет проблематично на GUI
Поэтому лучше не парить голову этим, а почитать эти материалы:
Хэш таблица. Удобна и практична. Кстати, не забудь создать глобальную переменную Hash, типа хэш-таблица и при инициализации карты инициализировать Hash, иначе не будет работать.
function Trig_HealImp_Timer takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer hid = GetHandleId(t)
local unit caster = LoadUnitHandle(udg_Hash, hid, 0) //Наш юнит хранится по ссылке "0", вытаскиваем его, чтобы с ним работать
local integer i = LoadInteger(udg_Hash, hid, 1) //Счетчик
local real hp1 = GetUnitState(caster, ConvertUnitState(0)) //текущее здоровье
local real hp = GetUnitState(caster, ConvertUnitState(1)) //максимальное здоровье
local real chp = (hp/100)*0.8 //значение, на которое лечим юнит
if i != 50 then //Срабатывание таймера 0,1. Так как длительность лечения составляет 5 сек, то таймер должен сработать 50 раз. Кстати, исходя из этого, высчитываем chp.
set i = i + 1 //Увеличиваем значение счетчика
call SetUnitState(caster, ConvertUnitState(0), hp1+chp) //лечим юнит
call SaveInteger(udg_Hash, hid, 1, i) //Сохраняем новое значение счетчика. Если этого не будет, счетчик вечно будет равен 0.
else //Когда счетчик равен 50, мы останавливаем таймер и чистим Хэш
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash, hid)
endif
set t=null
set caster = null
endfunction
function Trig_HealImp_Actions takes nothing returns nothing
local timer t = CreateTimer() //Таймер
local integer hid = GetHandleId(t) ) //Id таймера
local unit caster =GetTriggerUnit() //юнит, который мы будем лечить, по факту тот, кто активировал способность
call SaveUnitHandle(udg_Hash, hid, 0, caster) //сохраняем в Хэш юнит caster с ссылкой "0".
call SaveInteger(udg_Hash, hid, 1, 0) //сохраняем значение 0 с ссылкой "1". Это будет счетчик длительности лечения.
call TimerStart(t, 0.1, true, function Trig_HealImp_Timer) //запускаем таймер.
set t = null
set caster = null
endfunction
всегда по ссылке для handle-типов, всегда по значению для остальных
изменить это невозможно
никак, использовать глобалку, куда сохранять локалку перед нулением
нет, нету
ну или аналоги всего этого есть в продвинутых редакторах, не знаю, пусть те, кто ими пользуются, скажут
если нужно чтобы здание обязательно было зданием, то можно делать здание с нулевой моделью, потом сделать даммика-боевую еденицу со скоростью ходьбы выше 0 с моделью нашего здания и способностью москиты, так что его нельзя будет выбрать, и создавать наш даммик на месте здания без модели, так как даммика можно вращать, то можно иммитировать разворот здания.
If you know what i mean.
если нужно чтобы здание обязательно было зданием, то можно делать здание с нулевой моделью, потом сделать даммика-боевую еденицу со скоростью ходьбы выше 0 с моделью нашего здания и способностью москиты, так что его нельзя будет выбрать, и создавать наш даммик на месте здания без модели, так как даммика можно вращать, то можно иммитировать разворот здания.
If you know what i mean.
Black Soul, это потому, что по памяти пример указывал и кое-что пропустил в условии, в итоге юнит добавлялся в группу и сразу же удалялся. Есть в JNGP событие unit is hidden, но по факту оно не работает, как мне казалось, потому реально придётся периодически проверять группу, что всё равно понадобится в итоге, чтобы охапку дерева отлавливать но это будет уже не столь точный способ. Проверку на скрытость юнита нужно проводить, когда отдали приказ на рудник и занесли в группу, если отдадим любой другой приказ, то из группы удаляем, следовательно, раз юнит в группе и скрыт, то он точно в руднике и выйдет с мешком. Всего три триггера, у тебя больше, это и имел ввиду под перегруженностью.
Сейчас перечитал, как-то вообще непонятно обосновал. Короче: - Не работало потому, что ещё условия в примере не хватало. Но даже вместе с нужными условиями юнита с мешком не отловить, если отправить в другое место через shift; - Сделал вариант, чтобы точно отлавливало юнита с мешком золота; - Для дерева столь же точно отловить вряд ли получится, но надо попытаться, на что у меня сейчас нет времени.
Скрины триггеров для тех, кому интересно:
Надо ещё будет придумать как быть, когда юнит становится ополченцем или несёт последний мешок из рудника, так как в обоих случаях юнит продолжает числиться с мешком.
Было, рекомендую пройтись по списку. запустив игру:
Без триггеров
Без моделей
Без текстур
И попытаться более чётко получить данную проблему, тестов придётся сделать много
Потому что там не бж функция, а нативка. В натвиной функции положение отображения текста задается 2-мя координатами x и y.
Нижний левый угол 0;0. Верхний правый - 1.5;1.5 (точно не помню цифру, но не больше 2-х)
Экспериментируй.
На скрине нет нужных полей, где пишутся описания.
Такое бывает, если стоит галочка "Характеристики - Относится к предмету", потому что скиллам предметов не нужны описания.
каждый раз когда ты ссылаешься на AllPlayers, эта функция возвращает объект (группу игроков) из скрытой переменной bj_FORCE_ALL_PLAYERS.
ты заносишь этот объект в переменную и удаляешь его, и больше не можешь использовать AllPlayers
поэтому после этого текст не выводится когда ты пытаешься его выводить для всех игроков (а эту группу ты удалил хоть и поместил ее перед этим в свою переменную) как на скрине из твоей карты в моем посте выше.
Триггерно нет необходимости делать. Берешь в РО любую ауру на увеличение скорости перемещения и ставишь отрицательное значение этой скорости через нажатие клавиш [Shift+Enter]
100% будет работать, если заменить стандартные текстуры деревьев, а в самих моделях вместо пути к текстуре указать соответствующий Replaceable ID. (Если порченные версии тоже заменить под новую модель, то ещё и порча будет корректно работать =)
Какой путь к текстуре в самой модели? В оригинальном Warcraft'е это "Textures\Meatwagon.blp".
Если у тебя путь "Textures\trupovozka_by_autorname.blp", то в Импорте так и пиши: "Textures\trupovozka_by_autorname.blp".
War3Modeleditor через просмотр MPQ архивов по папкам ищеш путь к тайлсету записываеш себе в блокнотике и потом пишеш такой же путь у своей текстуры в редакторе.
Вообще по идее диалоговое окно как бы фрейм, и он не должно дэсинхронизироваться от такого
Но всё можно ожидать от патча 1.26, но десинк возможен, если я токмо не ошибаюсь.
if GetLocalPlayer() == whichPlayer then
call DialogSetMessage(whichDialog, message)
endif
Если использовать локальную строку, то лучше создавать массив хранящий в себе строки, который должны показываться у игрока.
if GetLocalPlayer() == whichPlayer then
set s = message
else
set s = strData[ GetPlayerId( GetLocalPlayer() ) ]
endif
А если оставить тот метод со строкой, то есть шанс, что у другого пропадёт просто надпись-сообщение:
Если этот использовать.
if GetLocalPlayer() == whichPlayer then
set s = message
endif
И есть ли быстрый способ синхронизации (глобализации) данных в выпуске рефордж?
---@param whichTrigger trigger
---@param whichPlayer player
---@param prefix string
---@param fromServer boolean
---@return event
function BlzTriggerRegisterPlayerSyncEvent(whichTrigger, whichPlayer, prefix, fromServer) end -- (native)
---@param prefix string
---@param data string
---@return boolean
function BlzSendSyncData(prefix, data) end -- (native)
---@return string
function BlzGetTriggerSyncPrefix() end -- (native)
---@return string
function BlzGetTriggerSyncData() end -- (native)
Спасибо всем, отбой, все нормально с позиционными звуками, у меня была включена кинематика и оказывается она игнорирует позиционные звуки... извините за беспокойство, на счет звука на точке не знаю, но на юните работает как надо.
Это особенность патча 1.30, на 1.26 всё нормально с этим. Может быть попробовать поменять приоритет кампании в файле priority, в статье про mix-архив это подробнее описано.
Georgy12, call CreateFogModifierRectBJ( true, игрок, FOG_OF_WAR_VISIBLE, область)
call CreateFogModifierRectBJ( true, игрок, FOG_OF_WAR_VISIBLE, область) вот так
либо
local fogmodifier loc = CreateFogModifierRect(whichPlayer, whichFogState, r, true, false)
call FogModifierStart(loc)
ты установил Player(3) значит это 4 игрок а ты в тест карту запускает 1 игрок пойми!!!
чтобы все игроки видел облость надо циклом от 0 до 11
Понял в чем был косяк, ни одна из функций модификации видимости не имела эффекта, потому что перед ней был следующий вызов модификации тумана с параментром true:
8gabriel8, стандартные порталы как раз включаются триггером, так же триггерно им можно назначать области телепорта, так же они не ломают карту путей.
Насчет упираются в здание, карту путей ставь от портала, физ размер в 0.
Модификатор видимости???. Можно попробовать поработать с нормалями (обратить или усреднить или отрегулировать вручную в mdlvis) Или заглянуть в свойства материалов (w3me).
Все должно действовать, постоянно именно так и делаю. Триггер в студию.
P. S. Только одна оговорка: на всякий случай будет лучше, если способность, даваемая даммику, заранее будет присутствовать у какого-нибудь юнита на карте (можно нейтрального и/или не способного её скастануть), иначе иногда не исключены ситуации, когда даммик просто не кастует добавленную ему способность вообще (зависимость определить не удалось, абсолютно в одной и той же уже сохраненной и оптимизированной карте может кастовать, а может не кастовать - если не стал кастовать эту абилу в первый раз, то и всю игру - т. е. весь конкретный запуск конкретно этой карты - уже не станет, но добавлением абилы заранее нейтральному зданию, т. е. прелоадом, лечится надёжно).
При конвертации моделей из игр в MDX их вес велик как и вес их текстур ! Я оптимизирую и сжимаю модель через MDLvis а текстуры через BLP Laboratory но их вес все еще внушителен ( Есть ли другие варианты среза веса без дефектов материала ?
Нет. Только удаление лишних анимаций. Остальную оптимизацию веса сделает mdlvis.
При импорте некоторых моделей в карту возникает проблема с их выбором при манипуляции ( Передвижения ) словно их Выбор отсутствует , Думаю некоторые с подобным сталкивались ...
Если модель нельзя выделить в игре курсором, у неё отсутствуют collision shapes (формы коллизии). Их можно добавить в War3ModelEditor -> Окна -> Редактор узлов -> правый клик -> Создать форму - > отредактировать размеры и положение. Их можно добавить несколько, чтобы покрыть модель целиком. Они отвечают за взаимодействие модели с курсором.
Один ресурс - один вопрос, после пойдут замечания.
Не берите вы эти ульты для основы своих скиллов, они сделаны через одно место лиж бы работали в капмании, а там дальше хоть потоп.
Сделайте заклинание из канала, а юнитов вокруг делайте неуязвимыми.
Эффекты стакаются в одном регионе (и даже чуть дальше него) крайне сложным образом, и зависит их совместимость от равкода. Я, когда писал погоду для морлоков с этим сталкивался, и возможно описывал проблему... лет 10 назад) Лечится импортом своей таблицы с погодой и подборкой равкодов. Ну и как вариант для более сильного дождя например можно вместо попытки добавить 2 эффекта и той-же таблице просто прописать побольше частиц.
» WarCraft 3 / В чём ошибка?
» WarCraft 3 / Экспорт\импорт
» WarCraft 3 / Проги с модельками
» WarCraft 3 / Агры юнитов
» WarCraft 3 / Карта 1.31 в 1.26
» WarCraft 3 / Не отображается бафф
» Моддинг / Текстуры
» WarCraft 3 / Не стакается
» WarCraft 3 / Локальная переменная
» WarCraft 3 / Как повернуть здание?
» WarCraft 3 / Рабочие
» WarCraft 3 / Отображение текста
» WarCraft 3 / Стаки аур
» WarCraft 3 / Аура замедления
» WarCraft 3 / Путь замены
» WarCraft 3 / Рассинхрон
» IrInA Host Bot / Вопрос
» WarCraft 3 / Редактор звука
» WarCraft 3 / Туман в области
» WarCraft 3 / Модификатор видимости
» WarCraft 3 / Количество триггеров в очереди
» WarCraft 3 / Создание Trackable
» WarCraft 3 / Не могу опубликовать карту
» WarCraft 3 / Конвертация картинки в .mdx
» WarCraft 3 / Странно работает эффект